package com.mgm.pojo;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class AdvertisementExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public AdvertisementExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andAdv_idIsNull() {
            addCriterion("adv_id is null");
            return (Criteria) this;
        }

        public Criteria andAdv_idIsNotNull() {
            addCriterion("adv_id is not null");
            return (Criteria) this;
        }

        public Criteria andAdv_idEqualTo(Integer value) {
            addCriterion("adv_id =", value, "adv_id");
            return (Criteria) this;
        }

        public Criteria andAdv_idNotEqualTo(Integer value) {
            addCriterion("adv_id <>", value, "adv_id");
            return (Criteria) this;
        }

        public Criteria andAdv_idGreaterThan(Integer value) {
            addCriterion("adv_id >", value, "adv_id");
            return (Criteria) this;
        }

        public Criteria andAdv_idGreaterThanOrEqualTo(Integer value) {
            addCriterion("adv_id >=", value, "adv_id");
            return (Criteria) this;
        }

        public Criteria andAdv_idLessThan(Integer value) {
            addCriterion("adv_id <", value, "adv_id");
            return (Criteria) this;
        }

        public Criteria andAdv_idLessThanOrEqualTo(Integer value) {
            addCriterion("adv_id <=", value, "adv_id");
            return (Criteria) this;
        }

        public Criteria andAdv_idIn(List<Integer> values) {
            addCriterion("adv_id in", values, "adv_id");
            return (Criteria) this;
        }

        public Criteria andAdv_idNotIn(List<Integer> values) {
            addCriterion("adv_id not in", values, "adv_id");
            return (Criteria) this;
        }

        public Criteria andAdv_idBetween(Integer value1, Integer value2) {
            addCriterion("adv_id between", value1, value2, "adv_id");
            return (Criteria) this;
        }

        public Criteria andAdv_idNotBetween(Integer value1, Integer value2) {
            addCriterion("adv_id not between", value1, value2, "adv_id");
            return (Criteria) this;
        }

        public Criteria andEnabledIsNull() {
            addCriterion("enabled is null");
            return (Criteria) this;
        }

        public Criteria andEnabledIsNotNull() {
            addCriterion("enabled is not null");
            return (Criteria) this;
        }

        public Criteria andEnabledEqualTo(Byte value) {
            addCriterion("enabled =", value, "enabled");
            return (Criteria) this;
        }

        public Criteria andEnabledNotEqualTo(Byte value) {
            addCriterion("enabled <>", value, "enabled");
            return (Criteria) this;
        }

        public Criteria andEnabledGreaterThan(Byte value) {
            addCriterion("enabled >", value, "enabled");
            return (Criteria) this;
        }

        public Criteria andEnabledGreaterThanOrEqualTo(Byte value) {
            addCriterion("enabled >=", value, "enabled");
            return (Criteria) this;
        }

        public Criteria andEnabledLessThan(Byte value) {
            addCriterion("enabled <", value, "enabled");
            return (Criteria) this;
        }

        public Criteria andEnabledLessThanOrEqualTo(Byte value) {
            addCriterion("enabled <=", value, "enabled");
            return (Criteria) this;
        }

        public Criteria andEnabledIn(List<Byte> values) {
            addCriterion("enabled in", values, "enabled");
            return (Criteria) this;
        }

        public Criteria andEnabledNotIn(List<Byte> values) {
            addCriterion("enabled not in", values, "enabled");
            return (Criteria) this;
        }

        public Criteria andEnabledBetween(Byte value1, Byte value2) {
            addCriterion("enabled between", value1, value2, "enabled");
            return (Criteria) this;
        }

        public Criteria andEnabledNotBetween(Byte value1, Byte value2) {
            addCriterion("enabled not between", value1, value2, "enabled");
            return (Criteria) this;
        }

        public Criteria andOfferIdIsNull() {
            addCriterion("offerId is null");
            return (Criteria) this;
        }

        public Criteria andOfferIdIsNotNull() {
            addCriterion("offerId is not null");
            return (Criteria) this;
        }

        public Criteria andOfferIdEqualTo(String value) {
            addCriterion("offerId =", value, "offerId");
            return (Criteria) this;
        }

        public Criteria andOfferIdNotEqualTo(String value) {
            addCriterion("offerId <>", value, "offerId");
            return (Criteria) this;
        }

        public Criteria andOfferIdGreaterThan(String value) {
            addCriterion("offerId >", value, "offerId");
            return (Criteria) this;
        }

        public Criteria andOfferIdGreaterThanOrEqualTo(String value) {
            addCriterion("offerId >=", value, "offerId");
            return (Criteria) this;
        }

        public Criteria andOfferIdLessThan(String value) {
            addCriterion("offerId <", value, "offerId");
            return (Criteria) this;
        }

        public Criteria andOfferIdLessThanOrEqualTo(String value) {
            addCriterion("offerId <=", value, "offerId");
            return (Criteria) this;
        }

        public Criteria andOfferIdLike(String value) {
            addCriterion("offerId like", value, "offerId");
            return (Criteria) this;
        }

        public Criteria andOfferIdNotLike(String value) {
            addCriterion("offerId not like", value, "offerId");
            return (Criteria) this;
        }

        public Criteria andOfferIdIn(List<String> values) {
            addCriterion("offerId in", values, "offerId");
            return (Criteria) this;
        }

        public Criteria andOfferIdNotIn(List<String> values) {
            addCriterion("offerId not in", values, "offerId");
            return (Criteria) this;
        }

        public Criteria andOfferIdBetween(String value1, String value2) {
            addCriterion("offerId between", value1, value2, "offerId");
            return (Criteria) this;
        }

        public Criteria andOfferIdNotBetween(String value1, String value2) {
            addCriterion("offerId not between", value1, value2, "offerId");
            return (Criteria) this;
        }

        public Criteria andOfferNameIsNull() {
            addCriterion("offerName is null");
            return (Criteria) this;
        }

        public Criteria andOfferNameIsNotNull() {
            addCriterion("offerName is not null");
            return (Criteria) this;
        }

        public Criteria andOfferNameEqualTo(String value) {
            addCriterion("offerName =", value, "offerName");
            return (Criteria) this;
        }

        public Criteria andOfferNameNotEqualTo(String value) {
            addCriterion("offerName <>", value, "offerName");
            return (Criteria) this;
        }

        public Criteria andOfferNameGreaterThan(String value) {
            addCriterion("offerName >", value, "offerName");
            return (Criteria) this;
        }

        public Criteria andOfferNameGreaterThanOrEqualTo(String value) {
            addCriterion("offerName >=", value, "offerName");
            return (Criteria) this;
        }

        public Criteria andOfferNameLessThan(String value) {
            addCriterion("offerName <", value, "offerName");
            return (Criteria) this;
        }

        public Criteria andOfferNameLessThanOrEqualTo(String value) {
            addCriterion("offerName <=", value, "offerName");
            return (Criteria) this;
        }

        public Criteria andOfferNameLike(String value) {
            addCriterion("offerName like", value, "offerName");
            return (Criteria) this;
        }

        public Criteria andOfferNameNotLike(String value) {
            addCriterion("offerName not like", value, "offerName");
            return (Criteria) this;
        }

        public Criteria andOfferNameIn(List<String> values) {
            addCriterion("offerName in", values, "offerName");
            return (Criteria) this;
        }

        public Criteria andOfferNameNotIn(List<String> values) {
            addCriterion("offerName not in", values, "offerName");
            return (Criteria) this;
        }

        public Criteria andOfferNameBetween(String value1, String value2) {
            addCriterion("offerName between", value1, value2, "offerName");
            return (Criteria) this;
        }

        public Criteria andOfferNameNotBetween(String value1, String value2) {
            addCriterion("offerName not between", value1, value2, "offerName");
            return (Criteria) this;
        }

        public Criteria andPay_typeIsNull() {
            addCriterion("pay_type is null");
            return (Criteria) this;
        }

        public Criteria andPay_typeIsNotNull() {
            addCriterion("pay_type is not null");
            return (Criteria) this;
        }

        public Criteria andPay_typeEqualTo(String value) {
            addCriterion("pay_type =", value, "pay_type");
            return (Criteria) this;
        }

        public Criteria andPay_typeNotEqualTo(String value) {
            addCriterion("pay_type <>", value, "pay_type");
            return (Criteria) this;
        }

        public Criteria andPay_typeGreaterThan(String value) {
            addCriterion("pay_type >", value, "pay_type");
            return (Criteria) this;
        }

        public Criteria andPay_typeGreaterThanOrEqualTo(String value) {
            addCriterion("pay_type >=", value, "pay_type");
            return (Criteria) this;
        }

        public Criteria andPay_typeLessThan(String value) {
            addCriterion("pay_type <", value, "pay_type");
            return (Criteria) this;
        }

        public Criteria andPay_typeLessThanOrEqualTo(String value) {
            addCriterion("pay_type <=", value, "pay_type");
            return (Criteria) this;
        }

        public Criteria andPay_typeLike(String value) {
            addCriterion("pay_type like", value, "pay_type");
            return (Criteria) this;
        }

        public Criteria andPay_typeNotLike(String value) {
            addCriterion("pay_type not like", value, "pay_type");
            return (Criteria) this;
        }

        public Criteria andPay_typeIn(List<String> values) {
            addCriterion("pay_type in", values, "pay_type");
            return (Criteria) this;
        }

        public Criteria andPay_typeNotIn(List<String> values) {
            addCriterion("pay_type not in", values, "pay_type");
            return (Criteria) this;
        }

        public Criteria andPay_typeBetween(String value1, String value2) {
            addCriterion("pay_type between", value1, value2, "pay_type");
            return (Criteria) this;
        }

        public Criteria andPay_typeNotBetween(String value1, String value2) {
            addCriterion("pay_type not between", value1, value2, "pay_type");
            return (Criteria) this;
        }

        public Criteria andPay_priceIsNull() {
            addCriterion("pay_price is null");
            return (Criteria) this;
        }

        public Criteria andPay_priceIsNotNull() {
            addCriterion("pay_price is not null");
            return (Criteria) this;
        }

        public Criteria andPay_priceEqualTo(BigDecimal value) {
            addCriterion("pay_price =", value, "pay_price");
            return (Criteria) this;
        }

        public Criteria andPay_priceNotEqualTo(BigDecimal value) {
            addCriterion("pay_price <>", value, "pay_price");
            return (Criteria) this;
        }

        public Criteria andPay_priceGreaterThan(BigDecimal value) {
            addCriterion("pay_price >", value, "pay_price");
            return (Criteria) this;
        }

        public Criteria andPay_priceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_price >=", value, "pay_price");
            return (Criteria) this;
        }

        public Criteria andPay_priceLessThan(BigDecimal value) {
            addCriterion("pay_price <", value, "pay_price");
            return (Criteria) this;
        }

        public Criteria andPay_priceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("pay_price <=", value, "pay_price");
            return (Criteria) this;
        }

        public Criteria andPay_priceIn(List<BigDecimal> values) {
            addCriterion("pay_price in", values, "pay_price");
            return (Criteria) this;
        }

        public Criteria andPay_priceNotIn(List<BigDecimal> values) {
            addCriterion("pay_price not in", values, "pay_price");
            return (Criteria) this;
        }

        public Criteria andPay_priceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_price between", value1, value2, "pay_price");
            return (Criteria) this;
        }

        public Criteria andPay_priceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pay_price not between", value1, value2, "pay_price");
            return (Criteria) this;
        }

        public Criteria andCurrencyIsNull() {
            addCriterion("currency is null");
            return (Criteria) this;
        }

        public Criteria andCurrencyIsNotNull() {
            addCriterion("currency is not null");
            return (Criteria) this;
        }

        public Criteria andCurrencyEqualTo(String value) {
            addCriterion("currency =", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyNotEqualTo(String value) {
            addCriterion("currency <>", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyGreaterThan(String value) {
            addCriterion("currency >", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyGreaterThanOrEqualTo(String value) {
            addCriterion("currency >=", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyLessThan(String value) {
            addCriterion("currency <", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyLessThanOrEqualTo(String value) {
            addCriterion("currency <=", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyLike(String value) {
            addCriterion("currency like", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyNotLike(String value) {
            addCriterion("currency not like", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyIn(List<String> values) {
            addCriterion("currency in", values, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyNotIn(List<String> values) {
            addCriterion("currency not in", values, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyBetween(String value1, String value2) {
            addCriterion("currency between", value1, value2, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyNotBetween(String value1, String value2) {
            addCriterion("currency not between", value1, value2, "currency");
            return (Criteria) this;
        }

        public Criteria andRequiresIsNull() {
            addCriterion("requires is null");
            return (Criteria) this;
        }

        public Criteria andRequiresIsNotNull() {
            addCriterion("requires is not null");
            return (Criteria) this;
        }

        public Criteria andRequiresEqualTo(String value) {
            addCriterion("requires =", value, "requires");
            return (Criteria) this;
        }

        public Criteria andRequiresNotEqualTo(String value) {
            addCriterion("requires <>", value, "requires");
            return (Criteria) this;
        }

        public Criteria andRequiresGreaterThan(String value) {
            addCriterion("requires >", value, "requires");
            return (Criteria) this;
        }

        public Criteria andRequiresGreaterThanOrEqualTo(String value) {
            addCriterion("requires >=", value, "requires");
            return (Criteria) this;
        }

        public Criteria andRequiresLessThan(String value) {
            addCriterion("requires <", value, "requires");
            return (Criteria) this;
        }

        public Criteria andRequiresLessThanOrEqualTo(String value) {
            addCriterion("requires <=", value, "requires");
            return (Criteria) this;
        }

        public Criteria andRequiresLike(String value) {
            addCriterion("requires like", value, "requires");
            return (Criteria) this;
        }

        public Criteria andRequiresNotLike(String value) {
            addCriterion("requires not like", value, "requires");
            return (Criteria) this;
        }

        public Criteria andRequiresIn(List<String> values) {
            addCriterion("requires in", values, "requires");
            return (Criteria) this;
        }

        public Criteria andRequiresNotIn(List<String> values) {
            addCriterion("requires not in", values, "requires");
            return (Criteria) this;
        }

        public Criteria andRequiresBetween(String value1, String value2) {
            addCriterion("requires between", value1, value2, "requires");
            return (Criteria) this;
        }

        public Criteria andRequiresNotBetween(String value1, String value2) {
            addCriterion("requires not between", value1, value2, "requires");
            return (Criteria) this;
        }

        public Criteria andOsIsNull() {
            addCriterion("os is null");
            return (Criteria) this;
        }

        public Criteria andOsIsNotNull() {
            addCriterion("os is not null");
            return (Criteria) this;
        }

        public Criteria andOsEqualTo(String value) {
            addCriterion("os =", value, "os");
            return (Criteria) this;
        }

        public Criteria andOsNotEqualTo(String value) {
            addCriterion("os <>", value, "os");
            return (Criteria) this;
        }

        public Criteria andOsGreaterThan(String value) {
            addCriterion("os >", value, "os");
            return (Criteria) this;
        }

        public Criteria andOsGreaterThanOrEqualTo(String value) {
            addCriterion("os >=", value, "os");
            return (Criteria) this;
        }

        public Criteria andOsLessThan(String value) {
            addCriterion("os <", value, "os");
            return (Criteria) this;
        }

        public Criteria andOsLessThanOrEqualTo(String value) {
            addCriterion("os <=", value, "os");
            return (Criteria) this;
        }

        public Criteria andOsLike(String value) {
            addCriterion("os like", value, "os");
            return (Criteria) this;
        }

        public Criteria andOsNotLike(String value) {
            addCriterion("os not like", value, "os");
            return (Criteria) this;
        }

        public Criteria andOsIn(List<String> values) {
            addCriterion("os in", values, "os");
            return (Criteria) this;
        }

        public Criteria andOsNotIn(List<String> values) {
            addCriterion("os not in", values, "os");
            return (Criteria) this;
        }

        public Criteria andOsBetween(String value1, String value2) {
            addCriterion("os between", value1, value2, "os");
            return (Criteria) this;
        }

        public Criteria andOsNotBetween(String value1, String value2) {
            addCriterion("os not between", value1, value2, "os");
            return (Criteria) this;
        }

        public Criteria andCountriesIsNull() {
            addCriterion("countries is null");
            return (Criteria) this;
        }

        public Criteria andCountriesIsNotNull() {
            addCriterion("countries is not null");
            return (Criteria) this;
        }

        public Criteria andCountriesEqualTo(String value) {
            addCriterion("countries =", value, "countries");
            return (Criteria) this;
        }

        public Criteria andCountriesNotEqualTo(String value) {
            addCriterion("countries <>", value, "countries");
            return (Criteria) this;
        }

        public Criteria andCountriesGreaterThan(String value) {
            addCriterion("countries >", value, "countries");
            return (Criteria) this;
        }

        public Criteria andCountriesGreaterThanOrEqualTo(String value) {
            addCriterion("countries >=", value, "countries");
            return (Criteria) this;
        }

        public Criteria andCountriesLessThan(String value) {
            addCriterion("countries <", value, "countries");
            return (Criteria) this;
        }

        public Criteria andCountriesLessThanOrEqualTo(String value) {
            addCriterion("countries <=", value, "countries");
            return (Criteria) this;
        }

        public Criteria andCountriesLike(String value) {
            addCriterion("countries like", value, "countries");
            return (Criteria) this;
        }

        public Criteria andCountriesNotLike(String value) {
            addCriterion("countries not like", value, "countries");
            return (Criteria) this;
        }

        public Criteria andCountriesIn(List<String> values) {
            addCriterion("countries in", values, "countries");
            return (Criteria) this;
        }

        public Criteria andCountriesNotIn(List<String> values) {
            addCriterion("countries not in", values, "countries");
            return (Criteria) this;
        }

        public Criteria andCountriesBetween(String value1, String value2) {
            addCriterion("countries between", value1, value2, "countries");
            return (Criteria) this;
        }

        public Criteria andCountriesNotBetween(String value1, String value2) {
            addCriterion("countries not between", value1, value2, "countries");
            return (Criteria) this;
        }

        public Criteria andClick_urlIsNull() {
            addCriterion("click_url is null");
            return (Criteria) this;
        }

        public Criteria andClick_urlIsNotNull() {
            addCriterion("click_url is not null");
            return (Criteria) this;
        }

        public Criteria andClick_urlEqualTo(String value) {
            addCriterion("click_url =", value, "click_url");
            return (Criteria) this;
        }

        public Criteria andClick_urlNotEqualTo(String value) {
            addCriterion("click_url <>", value, "click_url");
            return (Criteria) this;
        }

        public Criteria andClick_urlGreaterThan(String value) {
            addCriterion("click_url >", value, "click_url");
            return (Criteria) this;
        }

        public Criteria andClick_urlGreaterThanOrEqualTo(String value) {
            addCriterion("click_url >=", value, "click_url");
            return (Criteria) this;
        }

        public Criteria andClick_urlLessThan(String value) {
            addCriterion("click_url <", value, "click_url");
            return (Criteria) this;
        }

        public Criteria andClick_urlLessThanOrEqualTo(String value) {
            addCriterion("click_url <=", value, "click_url");
            return (Criteria) this;
        }

        public Criteria andClick_urlLike(String value) {
            addCriterion("click_url like", value, "click_url");
            return (Criteria) this;
        }

        public Criteria andClick_urlNotLike(String value) {
            addCriterion("click_url not like", value, "click_url");
            return (Criteria) this;
        }

        public Criteria andClick_urlIn(List<String> values) {
            addCriterion("click_url in", values, "click_url");
            return (Criteria) this;
        }

        public Criteria andClick_urlNotIn(List<String> values) {
            addCriterion("click_url not in", values, "click_url");
            return (Criteria) this;
        }

        public Criteria andClick_urlBetween(String value1, String value2) {
            addCriterion("click_url between", value1, value2, "click_url");
            return (Criteria) this;
        }

        public Criteria andClick_urlNotBetween(String value1, String value2) {
            addCriterion("click_url not between", value1, value2, "click_url");
            return (Criteria) this;
        }

        public Criteria andCarrierIsNull() {
            addCriterion("carrier is null");
            return (Criteria) this;
        }

        public Criteria andCarrierIsNotNull() {
            addCriterion("carrier is not null");
            return (Criteria) this;
        }

        public Criteria andCarrierEqualTo(String value) {
            addCriterion("carrier =", value, "carrier");
            return (Criteria) this;
        }

        public Criteria andCarrierNotEqualTo(String value) {
            addCriterion("carrier <>", value, "carrier");
            return (Criteria) this;
        }

        public Criteria andCarrierGreaterThan(String value) {
            addCriterion("carrier >", value, "carrier");
            return (Criteria) this;
        }

        public Criteria andCarrierGreaterThanOrEqualTo(String value) {
            addCriterion("carrier >=", value, "carrier");
            return (Criteria) this;
        }

        public Criteria andCarrierLessThan(String value) {
            addCriterion("carrier <", value, "carrier");
            return (Criteria) this;
        }

        public Criteria andCarrierLessThanOrEqualTo(String value) {
            addCriterion("carrier <=", value, "carrier");
            return (Criteria) this;
        }

        public Criteria andCarrierLike(String value) {
            addCriterion("carrier like", value, "carrier");
            return (Criteria) this;
        }

        public Criteria andCarrierNotLike(String value) {
            addCriterion("carrier not like", value, "carrier");
            return (Criteria) this;
        }

        public Criteria andCarrierIn(List<String> values) {
            addCriterion("carrier in", values, "carrier");
            return (Criteria) this;
        }

        public Criteria andCarrierNotIn(List<String> values) {
            addCriterion("carrier not in", values, "carrier");
            return (Criteria) this;
        }

        public Criteria andCarrierBetween(String value1, String value2) {
            addCriterion("carrier between", value1, value2, "carrier");
            return (Criteria) this;
        }

        public Criteria andCarrierNotBetween(String value1, String value2) {
            addCriterion("carrier not between", value1, value2, "carrier");
            return (Criteria) this;
        }

        public Criteria andOs_versionIsNull() {
            addCriterion("os_version is null");
            return (Criteria) this;
        }

        public Criteria andOs_versionIsNotNull() {
            addCriterion("os_version is not null");
            return (Criteria) this;
        }

        public Criteria andOs_versionEqualTo(String value) {
            addCriterion("os_version =", value, "os_version");
            return (Criteria) this;
        }

        public Criteria andOs_versionNotEqualTo(String value) {
            addCriterion("os_version <>", value, "os_version");
            return (Criteria) this;
        }

        public Criteria andOs_versionGreaterThan(String value) {
            addCriterion("os_version >", value, "os_version");
            return (Criteria) this;
        }

        public Criteria andOs_versionGreaterThanOrEqualTo(String value) {
            addCriterion("os_version >=", value, "os_version");
            return (Criteria) this;
        }

        public Criteria andOs_versionLessThan(String value) {
            addCriterion("os_version <", value, "os_version");
            return (Criteria) this;
        }

        public Criteria andOs_versionLessThanOrEqualTo(String value) {
            addCriterion("os_version <=", value, "os_version");
            return (Criteria) this;
        }

        public Criteria andOs_versionLike(String value) {
            addCriterion("os_version like", value, "os_version");
            return (Criteria) this;
        }

        public Criteria andOs_versionNotLike(String value) {
            addCriterion("os_version not like", value, "os_version");
            return (Criteria) this;
        }

        public Criteria andOs_versionIn(List<String> values) {
            addCriterion("os_version in", values, "os_version");
            return (Criteria) this;
        }

        public Criteria andOs_versionNotIn(List<String> values) {
            addCriterion("os_version not in", values, "os_version");
            return (Criteria) this;
        }

        public Criteria andOs_versionBetween(String value1, String value2) {
            addCriterion("os_version between", value1, value2, "os_version");
            return (Criteria) this;
        }

        public Criteria andOs_versionNotBetween(String value1, String value2) {
            addCriterion("os_version not between", value1, value2, "os_version");
            return (Criteria) this;
        }

        public Criteria andExcitationIsNull() {
            addCriterion("excitation is null");
            return (Criteria) this;
        }

        public Criteria andExcitationIsNotNull() {
            addCriterion("excitation is not null");
            return (Criteria) this;
        }

        public Criteria andExcitationEqualTo(Byte value) {
            addCriterion("excitation =", value, "excitation");
            return (Criteria) this;
        }

        public Criteria andExcitationNotEqualTo(Byte value) {
            addCriterion("excitation <>", value, "excitation");
            return (Criteria) this;
        }

        public Criteria andExcitationGreaterThan(Byte value) {
            addCriterion("excitation >", value, "excitation");
            return (Criteria) this;
        }

        public Criteria andExcitationGreaterThanOrEqualTo(Byte value) {
            addCriterion("excitation >=", value, "excitation");
            return (Criteria) this;
        }

        public Criteria andExcitationLessThan(Byte value) {
            addCriterion("excitation <", value, "excitation");
            return (Criteria) this;
        }

        public Criteria andExcitationLessThanOrEqualTo(Byte value) {
            addCriterion("excitation <=", value, "excitation");
            return (Criteria) this;
        }

        public Criteria andExcitationIn(List<Byte> values) {
            addCriterion("excitation in", values, "excitation");
            return (Criteria) this;
        }

        public Criteria andExcitationNotIn(List<Byte> values) {
            addCriterion("excitation not in", values, "excitation");
            return (Criteria) this;
        }

        public Criteria andExcitationBetween(Byte value1, Byte value2) {
            addCriterion("excitation between", value1, value2, "excitation");
            return (Criteria) this;
        }

        public Criteria andExcitationNotBetween(Byte value1, Byte value2) {
            addCriterion("excitation not between", value1, value2, "excitation");
            return (Criteria) this;
        }

        public Criteria andExpire_dateIsNull() {
            addCriterion("expire_date is null");
            return (Criteria) this;
        }

        public Criteria andExpire_dateIsNotNull() {
            addCriterion("expire_date is not null");
            return (Criteria) this;
        }

        public Criteria andExpire_dateEqualTo(Date value) {
            addCriterion("expire_date =", value, "expire_date");
            return (Criteria) this;
        }

        public Criteria andExpire_dateNotEqualTo(Date value) {
            addCriterion("expire_date <>", value, "expire_date");
            return (Criteria) this;
        }

        public Criteria andExpire_dateGreaterThan(Date value) {
            addCriterion("expire_date >", value, "expire_date");
            return (Criteria) this;
        }

        public Criteria andExpire_dateGreaterThanOrEqualTo(Date value) {
            addCriterion("expire_date >=", value, "expire_date");
            return (Criteria) this;
        }

        public Criteria andExpire_dateLessThan(Date value) {
            addCriterion("expire_date <", value, "expire_date");
            return (Criteria) this;
        }

        public Criteria andExpire_dateLessThanOrEqualTo(Date value) {
            addCriterion("expire_date <=", value, "expire_date");
            return (Criteria) this;
        }

        public Criteria andExpire_dateIn(List<Date> values) {
            addCriterion("expire_date in", values, "expire_date");
            return (Criteria) this;
        }

        public Criteria andExpire_dateNotIn(List<Date> values) {
            addCriterion("expire_date not in", values, "expire_date");
            return (Criteria) this;
        }

        public Criteria andExpire_dateBetween(Date value1, Date value2) {
            addCriterion("expire_date between", value1, value2, "expire_date");
            return (Criteria) this;
        }

        public Criteria andExpire_dateNotBetween(Date value1, Date value2) {
            addCriterion("expire_date not between", value1, value2, "expire_date");
            return (Criteria) this;
        }

        public Criteria andTrackingsolutionIsNull() {
            addCriterion("trackingsolution is null");
            return (Criteria) this;
        }

        public Criteria andTrackingsolutionIsNotNull() {
            addCriterion("trackingsolution is not null");
            return (Criteria) this;
        }

        public Criteria andTrackingsolutionEqualTo(String value) {
            addCriterion("trackingsolution =", value, "trackingsolution");
            return (Criteria) this;
        }

        public Criteria andTrackingsolutionNotEqualTo(String value) {
            addCriterion("trackingsolution <>", value, "trackingsolution");
            return (Criteria) this;
        }

        public Criteria andTrackingsolutionGreaterThan(String value) {
            addCriterion("trackingsolution >", value, "trackingsolution");
            return (Criteria) this;
        }

        public Criteria andTrackingsolutionGreaterThanOrEqualTo(String value) {
            addCriterion("trackingsolution >=", value, "trackingsolution");
            return (Criteria) this;
        }

        public Criteria andTrackingsolutionLessThan(String value) {
            addCriterion("trackingsolution <", value, "trackingsolution");
            return (Criteria) this;
        }

        public Criteria andTrackingsolutionLessThanOrEqualTo(String value) {
            addCriterion("trackingsolution <=", value, "trackingsolution");
            return (Criteria) this;
        }

        public Criteria andTrackingsolutionLike(String value) {
            addCriterion("trackingsolution like", value, "trackingsolution");
            return (Criteria) this;
        }

        public Criteria andTrackingsolutionNotLike(String value) {
            addCriterion("trackingsolution not like", value, "trackingsolution");
            return (Criteria) this;
        }

        public Criteria andTrackingsolutionIn(List<String> values) {
            addCriterion("trackingsolution in", values, "trackingsolution");
            return (Criteria) this;
        }

        public Criteria andTrackingsolutionNotIn(List<String> values) {
            addCriterion("trackingsolution not in", values, "trackingsolution");
            return (Criteria) this;
        }

        public Criteria andTrackingsolutionBetween(String value1, String value2) {
            addCriterion("trackingsolution between", value1, value2, "trackingsolution");
            return (Criteria) this;
        }

        public Criteria andTrackingsolutionNotBetween(String value1, String value2) {
            addCriterion("trackingsolution not between", value1, value2, "trackingsolution");
            return (Criteria) this;
        }

        public Criteria andKpiIsNull() {
            addCriterion("kpi is null");
            return (Criteria) this;
        }

        public Criteria andKpiIsNotNull() {
            addCriterion("kpi is not null");
            return (Criteria) this;
        }

        public Criteria andKpiEqualTo(String value) {
            addCriterion("kpi =", value, "kpi");
            return (Criteria) this;
        }

        public Criteria andKpiNotEqualTo(String value) {
            addCriterion("kpi <>", value, "kpi");
            return (Criteria) this;
        }

        public Criteria andKpiGreaterThan(String value) {
            addCriterion("kpi >", value, "kpi");
            return (Criteria) this;
        }

        public Criteria andKpiGreaterThanOrEqualTo(String value) {
            addCriterion("kpi >=", value, "kpi");
            return (Criteria) this;
        }

        public Criteria andKpiLessThan(String value) {
            addCriterion("kpi <", value, "kpi");
            return (Criteria) this;
        }

        public Criteria andKpiLessThanOrEqualTo(String value) {
            addCriterion("kpi <=", value, "kpi");
            return (Criteria) this;
        }

        public Criteria andKpiLike(String value) {
            addCriterion("kpi like", value, "kpi");
            return (Criteria) this;
        }

        public Criteria andKpiNotLike(String value) {
            addCriterion("kpi not like", value, "kpi");
            return (Criteria) this;
        }

        public Criteria andKpiIn(List<String> values) {
            addCriterion("kpi in", values, "kpi");
            return (Criteria) this;
        }

        public Criteria andKpiNotIn(List<String> values) {
            addCriterion("kpi not in", values, "kpi");
            return (Criteria) this;
        }

        public Criteria andKpiBetween(String value1, String value2) {
            addCriterion("kpi between", value1, value2, "kpi");
            return (Criteria) this;
        }

        public Criteria andKpiNotBetween(String value1, String value2) {
            addCriterion("kpi not between", value1, value2, "kpi");
            return (Criteria) this;
        }

        public Criteria andCap_typeIsNull() {
            addCriterion("cap_type is null");
            return (Criteria) this;
        }

        public Criteria andCap_typeIsNotNull() {
            addCriterion("cap_type is not null");
            return (Criteria) this;
        }

        public Criteria andCap_typeEqualTo(String value) {
            addCriterion("cap_type =", value, "cap_type");
            return (Criteria) this;
        }

        public Criteria andCap_typeNotEqualTo(String value) {
            addCriterion("cap_type <>", value, "cap_type");
            return (Criteria) this;
        }

        public Criteria andCap_typeGreaterThan(String value) {
            addCriterion("cap_type >", value, "cap_type");
            return (Criteria) this;
        }

        public Criteria andCap_typeGreaterThanOrEqualTo(String value) {
            addCriterion("cap_type >=", value, "cap_type");
            return (Criteria) this;
        }

        public Criteria andCap_typeLessThan(String value) {
            addCriterion("cap_type <", value, "cap_type");
            return (Criteria) this;
        }

        public Criteria andCap_typeLessThanOrEqualTo(String value) {
            addCriterion("cap_type <=", value, "cap_type");
            return (Criteria) this;
        }

        public Criteria andCap_typeLike(String value) {
            addCriterion("cap_type like", value, "cap_type");
            return (Criteria) this;
        }

        public Criteria andCap_typeNotLike(String value) {
            addCriterion("cap_type not like", value, "cap_type");
            return (Criteria) this;
        }

        public Criteria andCap_typeIn(List<String> values) {
            addCriterion("cap_type in", values, "cap_type");
            return (Criteria) this;
        }

        public Criteria andCap_typeNotIn(List<String> values) {
            addCriterion("cap_type not in", values, "cap_type");
            return (Criteria) this;
        }

        public Criteria andCap_typeBetween(String value1, String value2) {
            addCriterion("cap_type between", value1, value2, "cap_type");
            return (Criteria) this;
        }

        public Criteria andCap_typeNotBetween(String value1, String value2) {
            addCriterion("cap_type not between", value1, value2, "cap_type");
            return (Criteria) this;
        }

        public Criteria andConvernsion_capIsNull() {
            addCriterion("convernsion_cap is null");
            return (Criteria) this;
        }

        public Criteria andConvernsion_capIsNotNull() {
            addCriterion("convernsion_cap is not null");
            return (Criteria) this;
        }

        public Criteria andConvernsion_capEqualTo(BigDecimal value) {
            addCriterion("convernsion_cap =", value, "convernsion_cap");
            return (Criteria) this;
        }

        public Criteria andConvernsion_capNotEqualTo(BigDecimal value) {
            addCriterion("convernsion_cap <>", value, "convernsion_cap");
            return (Criteria) this;
        }

        public Criteria andConvernsion_capGreaterThan(BigDecimal value) {
            addCriterion("convernsion_cap >", value, "convernsion_cap");
            return (Criteria) this;
        }

        public Criteria andConvernsion_capGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("convernsion_cap >=", value, "convernsion_cap");
            return (Criteria) this;
        }

        public Criteria andConvernsion_capLessThan(BigDecimal value) {
            addCriterion("convernsion_cap <", value, "convernsion_cap");
            return (Criteria) this;
        }

        public Criteria andConvernsion_capLessThanOrEqualTo(BigDecimal value) {
            addCriterion("convernsion_cap <=", value, "convernsion_cap");
            return (Criteria) this;
        }

        public Criteria andConvernsion_capIn(List<BigDecimal> values) {
            addCriterion("convernsion_cap in", values, "convernsion_cap");
            return (Criteria) this;
        }

        public Criteria andConvernsion_capNotIn(List<BigDecimal> values) {
            addCriterion("convernsion_cap not in", values, "convernsion_cap");
            return (Criteria) this;
        }

        public Criteria andConvernsion_capBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("convernsion_cap between", value1, value2, "convernsion_cap");
            return (Criteria) this;
        }

        public Criteria andConvernsion_capNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("convernsion_cap not between", value1, value2, "convernsion_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_conversion_capIsNull() {
            addCriterion("daily_conversion_cap is null");
            return (Criteria) this;
        }

        public Criteria andDaily_conversion_capIsNotNull() {
            addCriterion("daily_conversion_cap is not null");
            return (Criteria) this;
        }

        public Criteria andDaily_conversion_capEqualTo(BigDecimal value) {
            addCriterion("daily_conversion_cap =", value, "daily_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_conversion_capNotEqualTo(BigDecimal value) {
            addCriterion("daily_conversion_cap <>", value, "daily_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_conversion_capGreaterThan(BigDecimal value) {
            addCriterion("daily_conversion_cap >", value, "daily_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_conversion_capGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("daily_conversion_cap >=", value, "daily_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_conversion_capLessThan(BigDecimal value) {
            addCriterion("daily_conversion_cap <", value, "daily_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_conversion_capLessThanOrEqualTo(BigDecimal value) {
            addCriterion("daily_conversion_cap <=", value, "daily_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_conversion_capIn(List<BigDecimal> values) {
            addCriterion("daily_conversion_cap in", values, "daily_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_conversion_capNotIn(List<BigDecimal> values) {
            addCriterion("daily_conversion_cap not in", values, "daily_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_conversion_capBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("daily_conversion_cap between", value1, value2, "daily_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_conversion_capNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("daily_conversion_cap not between", value1, value2, "daily_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_conversion_capIsNull() {
            addCriterion("month_conversion_cap is null");
            return (Criteria) this;
        }

        public Criteria andMonth_conversion_capIsNotNull() {
            addCriterion("month_conversion_cap is not null");
            return (Criteria) this;
        }

        public Criteria andMonth_conversion_capEqualTo(BigDecimal value) {
            addCriterion("month_conversion_cap =", value, "month_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_conversion_capNotEqualTo(BigDecimal value) {
            addCriterion("month_conversion_cap <>", value, "month_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_conversion_capGreaterThan(BigDecimal value) {
            addCriterion("month_conversion_cap >", value, "month_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_conversion_capGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("month_conversion_cap >=", value, "month_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_conversion_capLessThan(BigDecimal value) {
            addCriterion("month_conversion_cap <", value, "month_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_conversion_capLessThanOrEqualTo(BigDecimal value) {
            addCriterion("month_conversion_cap <=", value, "month_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_conversion_capIn(List<BigDecimal> values) {
            addCriterion("month_conversion_cap in", values, "month_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_conversion_capNotIn(List<BigDecimal> values) {
            addCriterion("month_conversion_cap not in", values, "month_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_conversion_capBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("month_conversion_cap between", value1, value2, "month_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_conversion_capNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("month_conversion_cap not between", value1, value2, "month_conversion_cap");
            return (Criteria) this;
        }

        public Criteria andPayout_capIsNull() {
            addCriterion("payout_cap is null");
            return (Criteria) this;
        }

        public Criteria andPayout_capIsNotNull() {
            addCriterion("payout_cap is not null");
            return (Criteria) this;
        }

        public Criteria andPayout_capEqualTo(BigDecimal value) {
            addCriterion("payout_cap =", value, "payout_cap");
            return (Criteria) this;
        }

        public Criteria andPayout_capNotEqualTo(BigDecimal value) {
            addCriterion("payout_cap <>", value, "payout_cap");
            return (Criteria) this;
        }

        public Criteria andPayout_capGreaterThan(BigDecimal value) {
            addCriterion("payout_cap >", value, "payout_cap");
            return (Criteria) this;
        }

        public Criteria andPayout_capGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("payout_cap >=", value, "payout_cap");
            return (Criteria) this;
        }

        public Criteria andPayout_capLessThan(BigDecimal value) {
            addCriterion("payout_cap <", value, "payout_cap");
            return (Criteria) this;
        }

        public Criteria andPayout_capLessThanOrEqualTo(BigDecimal value) {
            addCriterion("payout_cap <=", value, "payout_cap");
            return (Criteria) this;
        }

        public Criteria andPayout_capIn(List<BigDecimal> values) {
            addCriterion("payout_cap in", values, "payout_cap");
            return (Criteria) this;
        }

        public Criteria andPayout_capNotIn(List<BigDecimal> values) {
            addCriterion("payout_cap not in", values, "payout_cap");
            return (Criteria) this;
        }

        public Criteria andPayout_capBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("payout_cap between", value1, value2, "payout_cap");
            return (Criteria) this;
        }

        public Criteria andPayout_capNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("payout_cap not between", value1, value2, "payout_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_payout_capIsNull() {
            addCriterion("daily_payout_cap is null");
            return (Criteria) this;
        }

        public Criteria andDaily_payout_capIsNotNull() {
            addCriterion("daily_payout_cap is not null");
            return (Criteria) this;
        }

        public Criteria andDaily_payout_capEqualTo(BigDecimal value) {
            addCriterion("daily_payout_cap =", value, "daily_payout_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_payout_capNotEqualTo(BigDecimal value) {
            addCriterion("daily_payout_cap <>", value, "daily_payout_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_payout_capGreaterThan(BigDecimal value) {
            addCriterion("daily_payout_cap >", value, "daily_payout_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_payout_capGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("daily_payout_cap >=", value, "daily_payout_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_payout_capLessThan(BigDecimal value) {
            addCriterion("daily_payout_cap <", value, "daily_payout_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_payout_capLessThanOrEqualTo(BigDecimal value) {
            addCriterion("daily_payout_cap <=", value, "daily_payout_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_payout_capIn(List<BigDecimal> values) {
            addCriterion("daily_payout_cap in", values, "daily_payout_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_payout_capNotIn(List<BigDecimal> values) {
            addCriterion("daily_payout_cap not in", values, "daily_payout_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_payout_capBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("daily_payout_cap between", value1, value2, "daily_payout_cap");
            return (Criteria) this;
        }

        public Criteria andDaily_payout_capNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("daily_payout_cap not between", value1, value2, "daily_payout_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_payout_capIsNull() {
            addCriterion("month_payout_cap is null");
            return (Criteria) this;
        }

        public Criteria andMonth_payout_capIsNotNull() {
            addCriterion("month_payout_cap is not null");
            return (Criteria) this;
        }

        public Criteria andMonth_payout_capEqualTo(BigDecimal value) {
            addCriterion("month_payout_cap =", value, "month_payout_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_payout_capNotEqualTo(BigDecimal value) {
            addCriterion("month_payout_cap <>", value, "month_payout_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_payout_capGreaterThan(BigDecimal value) {
            addCriterion("month_payout_cap >", value, "month_payout_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_payout_capGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("month_payout_cap >=", value, "month_payout_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_payout_capLessThan(BigDecimal value) {
            addCriterion("month_payout_cap <", value, "month_payout_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_payout_capLessThanOrEqualTo(BigDecimal value) {
            addCriterion("month_payout_cap <=", value, "month_payout_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_payout_capIn(List<BigDecimal> values) {
            addCriterion("month_payout_cap in", values, "month_payout_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_payout_capNotIn(List<BigDecimal> values) {
            addCriterion("month_payout_cap not in", values, "month_payout_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_payout_capBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("month_payout_cap between", value1, value2, "month_payout_cap");
            return (Criteria) this;
        }

        public Criteria andMonth_payout_capNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("month_payout_cap not between", value1, value2, "month_payout_cap");
            return (Criteria) this;
        }

        public Criteria andAppnameIsNull() {
            addCriterion("appname is null");
            return (Criteria) this;
        }

        public Criteria andAppnameIsNotNull() {
            addCriterion("appname is not null");
            return (Criteria) this;
        }

        public Criteria andAppnameEqualTo(String value) {
            addCriterion("appname =", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameNotEqualTo(String value) {
            addCriterion("appname <>", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameGreaterThan(String value) {
            addCriterion("appname >", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameGreaterThanOrEqualTo(String value) {
            addCriterion("appname >=", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameLessThan(String value) {
            addCriterion("appname <", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameLessThanOrEqualTo(String value) {
            addCriterion("appname <=", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameLike(String value) {
            addCriterion("appname like", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameNotLike(String value) {
            addCriterion("appname not like", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameIn(List<String> values) {
            addCriterion("appname in", values, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameNotIn(List<String> values) {
            addCriterion("appname not in", values, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameBetween(String value1, String value2) {
            addCriterion("appname between", value1, value2, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameNotBetween(String value1, String value2) {
            addCriterion("appname not between", value1, value2, "appname");
            return (Criteria) this;
        }

        public Criteria andPkgnameIsNull() {
            addCriterion("pkgname is null");
            return (Criteria) this;
        }

        public Criteria andPkgnameIsNotNull() {
            addCriterion("pkgname is not null");
            return (Criteria) this;
        }

        public Criteria andPkgnameEqualTo(String value) {
            addCriterion("pkgname =", value, "pkgname");
            return (Criteria) this;
        }

        public Criteria andPkgnameNotEqualTo(String value) {
            addCriterion("pkgname <>", value, "pkgname");
            return (Criteria) this;
        }

        public Criteria andPkgnameGreaterThan(String value) {
            addCriterion("pkgname >", value, "pkgname");
            return (Criteria) this;
        }

        public Criteria andPkgnameGreaterThanOrEqualTo(String value) {
            addCriterion("pkgname >=", value, "pkgname");
            return (Criteria) this;
        }

        public Criteria andPkgnameLessThan(String value) {
            addCriterion("pkgname <", value, "pkgname");
            return (Criteria) this;
        }

        public Criteria andPkgnameLessThanOrEqualTo(String value) {
            addCriterion("pkgname <=", value, "pkgname");
            return (Criteria) this;
        }

        public Criteria andPkgnameLike(String value) {
            addCriterion("pkgname like", value, "pkgname");
            return (Criteria) this;
        }

        public Criteria andPkgnameNotLike(String value) {
            addCriterion("pkgname not like", value, "pkgname");
            return (Criteria) this;
        }

        public Criteria andPkgnameIn(List<String> values) {
            addCriterion("pkgname in", values, "pkgname");
            return (Criteria) this;
        }

        public Criteria andPkgnameNotIn(List<String> values) {
            addCriterion("pkgname not in", values, "pkgname");
            return (Criteria) this;
        }

        public Criteria andPkgnameBetween(String value1, String value2) {
            addCriterion("pkgname between", value1, value2, "pkgname");
            return (Criteria) this;
        }

        public Criteria andPkgnameNotBetween(String value1, String value2) {
            addCriterion("pkgname not between", value1, value2, "pkgname");
            return (Criteria) this;
        }

        public Criteria andPreview_urlIsNull() {
            addCriterion("preview_url is null");
            return (Criteria) this;
        }

        public Criteria andPreview_urlIsNotNull() {
            addCriterion("preview_url is not null");
            return (Criteria) this;
        }

        public Criteria andPreview_urlEqualTo(String value) {
            addCriterion("preview_url =", value, "preview_url");
            return (Criteria) this;
        }

        public Criteria andPreview_urlNotEqualTo(String value) {
            addCriterion("preview_url <>", value, "preview_url");
            return (Criteria) this;
        }

        public Criteria andPreview_urlGreaterThan(String value) {
            addCriterion("preview_url >", value, "preview_url");
            return (Criteria) this;
        }

        public Criteria andPreview_urlGreaterThanOrEqualTo(String value) {
            addCriterion("preview_url >=", value, "preview_url");
            return (Criteria) this;
        }

        public Criteria andPreview_urlLessThan(String value) {
            addCriterion("preview_url <", value, "preview_url");
            return (Criteria) this;
        }

        public Criteria andPreview_urlLessThanOrEqualTo(String value) {
            addCriterion("preview_url <=", value, "preview_url");
            return (Criteria) this;
        }

        public Criteria andPreview_urlLike(String value) {
            addCriterion("preview_url like", value, "preview_url");
            return (Criteria) this;
        }

        public Criteria andPreview_urlNotLike(String value) {
            addCriterion("preview_url not like", value, "preview_url");
            return (Criteria) this;
        }

        public Criteria andPreview_urlIn(List<String> values) {
            addCriterion("preview_url in", values, "preview_url");
            return (Criteria) this;
        }

        public Criteria andPreview_urlNotIn(List<String> values) {
            addCriterion("preview_url not in", values, "preview_url");
            return (Criteria) this;
        }

        public Criteria andPreview_urlBetween(String value1, String value2) {
            addCriterion("preview_url between", value1, value2, "preview_url");
            return (Criteria) this;
        }

        public Criteria andPreview_urlNotBetween(String value1, String value2) {
            addCriterion("preview_url not between", value1, value2, "preview_url");
            return (Criteria) this;
        }

        public Criteria andPremiumIsNull() {
            addCriterion("premium is null");
            return (Criteria) this;
        }

        public Criteria andPremiumIsNotNull() {
            addCriterion("premium is not null");
            return (Criteria) this;
        }

        public Criteria andPremiumEqualTo(Integer value) {
            addCriterion("premium =", value, "premium");
            return (Criteria) this;
        }

        public Criteria andPremiumNotEqualTo(Integer value) {
            addCriterion("premium <>", value, "premium");
            return (Criteria) this;
        }

        public Criteria andPremiumGreaterThan(Integer value) {
            addCriterion("premium >", value, "premium");
            return (Criteria) this;
        }

        public Criteria andPremiumGreaterThanOrEqualTo(Integer value) {
            addCriterion("premium >=", value, "premium");
            return (Criteria) this;
        }

        public Criteria andPremiumLessThan(Integer value) {
            addCriterion("premium <", value, "premium");
            return (Criteria) this;
        }

        public Criteria andPremiumLessThanOrEqualTo(Integer value) {
            addCriterion("premium <=", value, "premium");
            return (Criteria) this;
        }

        public Criteria andPremiumIn(List<Integer> values) {
            addCriterion("premium in", values, "premium");
            return (Criteria) this;
        }

        public Criteria andPremiumNotIn(List<Integer> values) {
            addCriterion("premium not in", values, "premium");
            return (Criteria) this;
        }

        public Criteria andPremiumBetween(Integer value1, Integer value2) {
            addCriterion("premium between", value1, value2, "premium");
            return (Criteria) this;
        }

        public Criteria andPremiumNotBetween(Integer value1, Integer value2) {
            addCriterion("premium not between", value1, value2, "premium");
            return (Criteria) this;
        }

        public Criteria andPremium_priceIsNull() {
            addCriterion("premium_price is null");
            return (Criteria) this;
        }

        public Criteria andPremium_priceIsNotNull() {
            addCriterion("premium_price is not null");
            return (Criteria) this;
        }

        public Criteria andPremium_priceEqualTo(BigDecimal value) {
            addCriterion("premium_price =", value, "premium_price");
            return (Criteria) this;
        }

        public Criteria andPremium_priceNotEqualTo(BigDecimal value) {
            addCriterion("premium_price <>", value, "premium_price");
            return (Criteria) this;
        }

        public Criteria andPremium_priceGreaterThan(BigDecimal value) {
            addCriterion("premium_price >", value, "premium_price");
            return (Criteria) this;
        }

        public Criteria andPremium_priceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("premium_price >=", value, "premium_price");
            return (Criteria) this;
        }

        public Criteria andPremium_priceLessThan(BigDecimal value) {
            addCriterion("premium_price <", value, "premium_price");
            return (Criteria) this;
        }

        public Criteria andPremium_priceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("premium_price <=", value, "premium_price");
            return (Criteria) this;
        }

        public Criteria andPremium_priceIn(List<BigDecimal> values) {
            addCriterion("premium_price in", values, "premium_price");
            return (Criteria) this;
        }

        public Criteria andPremium_priceNotIn(List<BigDecimal> values) {
            addCriterion("premium_price not in", values, "premium_price");
            return (Criteria) this;
        }

        public Criteria andPremium_priceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("premium_price between", value1, value2, "premium_price");
            return (Criteria) this;
        }

        public Criteria andPremium_priceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("premium_price not between", value1, value2, "premium_price");
            return (Criteria) this;
        }

        public Criteria andIconIsNull() {
            addCriterion("icon is null");
            return (Criteria) this;
        }

        public Criteria andIconIsNotNull() {
            addCriterion("icon is not null");
            return (Criteria) this;
        }

        public Criteria andIconEqualTo(String value) {
            addCriterion("icon =", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconNotEqualTo(String value) {
            addCriterion("icon <>", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconGreaterThan(String value) {
            addCriterion("icon >", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconGreaterThanOrEqualTo(String value) {
            addCriterion("icon >=", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconLessThan(String value) {
            addCriterion("icon <", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconLessThanOrEqualTo(String value) {
            addCriterion("icon <=", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconLike(String value) {
            addCriterion("icon like", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconNotLike(String value) {
            addCriterion("icon not like", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconIn(List<String> values) {
            addCriterion("icon in", values, "icon");
            return (Criteria) this;
        }

        public Criteria andIconNotIn(List<String> values) {
            addCriterion("icon not in", values, "icon");
            return (Criteria) this;
        }

        public Criteria andIconBetween(String value1, String value2) {
            addCriterion("icon between", value1, value2, "icon");
            return (Criteria) this;
        }

        public Criteria andIconNotBetween(String value1, String value2) {
            addCriterion("icon not between", value1, value2, "icon");
            return (Criteria) this;
        }

        public Criteria andStart_atIsNull() {
            addCriterion("start_at is null");
            return (Criteria) this;
        }

        public Criteria andStart_atIsNotNull() {
            addCriterion("start_at is not null");
            return (Criteria) this;
        }

        public Criteria andStart_atEqualTo(Date value) {
            addCriterion("start_at =", value, "start_at");
            return (Criteria) this;
        }

        public Criteria andStart_atNotEqualTo(Date value) {
            addCriterion("start_at <>", value, "start_at");
            return (Criteria) this;
        }

        public Criteria andStart_atGreaterThan(Date value) {
            addCriterion("start_at >", value, "start_at");
            return (Criteria) this;
        }

        public Criteria andStart_atGreaterThanOrEqualTo(Date value) {
            addCriterion("start_at >=", value, "start_at");
            return (Criteria) this;
        }

        public Criteria andStart_atLessThan(Date value) {
            addCriterion("start_at <", value, "start_at");
            return (Criteria) this;
        }

        public Criteria andStart_atLessThanOrEqualTo(Date value) {
            addCriterion("start_at <=", value, "start_at");
            return (Criteria) this;
        }

        public Criteria andStart_atIn(List<Date> values) {
            addCriterion("start_at in", values, "start_at");
            return (Criteria) this;
        }

        public Criteria andStart_atNotIn(List<Date> values) {
            addCriterion("start_at not in", values, "start_at");
            return (Criteria) this;
        }

        public Criteria andStart_atBetween(Date value1, Date value2) {
            addCriterion("start_at between", value1, value2, "start_at");
            return (Criteria) this;
        }

        public Criteria andStart_atNotBetween(Date value1, Date value2) {
            addCriterion("start_at not between", value1, value2, "start_at");
            return (Criteria) this;
        }

        public Criteria andEnd_atIsNull() {
            addCriterion("end_at is null");
            return (Criteria) this;
        }

        public Criteria andEnd_atIsNotNull() {
            addCriterion("end_at is not null");
            return (Criteria) this;
        }

        public Criteria andEnd_atEqualTo(Date value) {
            addCriterion("end_at =", value, "end_at");
            return (Criteria) this;
        }

        public Criteria andEnd_atNotEqualTo(Date value) {
            addCriterion("end_at <>", value, "end_at");
            return (Criteria) this;
        }

        public Criteria andEnd_atGreaterThan(Date value) {
            addCriterion("end_at >", value, "end_at");
            return (Criteria) this;
        }

        public Criteria andEnd_atGreaterThanOrEqualTo(Date value) {
            addCriterion("end_at >=", value, "end_at");
            return (Criteria) this;
        }

        public Criteria andEnd_atLessThan(Date value) {
            addCriterion("end_at <", value, "end_at");
            return (Criteria) this;
        }

        public Criteria andEnd_atLessThanOrEqualTo(Date value) {
            addCriterion("end_at <=", value, "end_at");
            return (Criteria) this;
        }

        public Criteria andEnd_atIn(List<Date> values) {
            addCriterion("end_at in", values, "end_at");
            return (Criteria) this;
        }

        public Criteria andEnd_atNotIn(List<Date> values) {
            addCriterion("end_at not in", values, "end_at");
            return (Criteria) this;
        }

        public Criteria andEnd_atBetween(Date value1, Date value2) {
            addCriterion("end_at between", value1, value2, "end_at");
            return (Criteria) this;
        }

        public Criteria andEnd_atNotBetween(Date value1, Date value2) {
            addCriterion("end_at not between", value1, value2, "end_at");
            return (Criteria) this;
        }

        public Criteria andUpdate_timeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdate_timeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdate_timeEqualTo(Date value) {
            addCriterion("update_time =", value, "update_time");
            return (Criteria) this;
        }

        public Criteria andUpdate_timeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "update_time");
            return (Criteria) this;
        }

        public Criteria andUpdate_timeGreaterThan(Date value) {
            addCriterion("update_time >", value, "update_time");
            return (Criteria) this;
        }

        public Criteria andUpdate_timeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "update_time");
            return (Criteria) this;
        }

        public Criteria andUpdate_timeLessThan(Date value) {
            addCriterion("update_time <", value, "update_time");
            return (Criteria) this;
        }

        public Criteria andUpdate_timeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "update_time");
            return (Criteria) this;
        }

        public Criteria andUpdate_timeIn(List<Date> values) {
            addCriterion("update_time in", values, "update_time");
            return (Criteria) this;
        }

        public Criteria andUpdate_timeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "update_time");
            return (Criteria) this;
        }

        public Criteria andUpdate_timeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "update_time");
            return (Criteria) this;
        }

        public Criteria andUpdate_timeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "update_time");
            return (Criteria) this;
        }

        public Criteria andCounterIsNull() {
            addCriterion("counter is null");
            return (Criteria) this;
        }

        public Criteria andCounterIsNotNull() {
            addCriterion("counter is not null");
            return (Criteria) this;
        }

        public Criteria andCounterEqualTo(Integer value) {
            addCriterion("counter =", value, "counter");
            return (Criteria) this;
        }

        public Criteria andCounterNotEqualTo(Integer value) {
            addCriterion("counter <>", value, "counter");
            return (Criteria) this;
        }

        public Criteria andCounterGreaterThan(Integer value) {
            addCriterion("counter >", value, "counter");
            return (Criteria) this;
        }

        public Criteria andCounterGreaterThanOrEqualTo(Integer value) {
            addCriterion("counter >=", value, "counter");
            return (Criteria) this;
        }

        public Criteria andCounterLessThan(Integer value) {
            addCriterion("counter <", value, "counter");
            return (Criteria) this;
        }

        public Criteria andCounterLessThanOrEqualTo(Integer value) {
            addCriterion("counter <=", value, "counter");
            return (Criteria) this;
        }

        public Criteria andCounterIn(List<Integer> values) {
            addCriterion("counter in", values, "counter");
            return (Criteria) this;
        }

        public Criteria andCounterNotIn(List<Integer> values) {
            addCriterion("counter not in", values, "counter");
            return (Criteria) this;
        }

        public Criteria andCounterBetween(Integer value1, Integer value2) {
            addCriterion("counter between", value1, value2, "counter");
            return (Criteria) this;
        }

        public Criteria andCounterNotBetween(Integer value1, Integer value2) {
            addCriterion("counter not between", value1, value2, "counter");
            return (Criteria) this;
        }

        public Criteria andP1IsNull() {
            addCriterion("p1 is null");
            return (Criteria) this;
        }

        public Criteria andP1IsNotNull() {
            addCriterion("p1 is not null");
            return (Criteria) this;
        }

        public Criteria andP1EqualTo(String value) {
            addCriterion("p1 =", value, "p1");
            return (Criteria) this;
        }

        public Criteria andP1NotEqualTo(String value) {
            addCriterion("p1 <>", value, "p1");
            return (Criteria) this;
        }

        public Criteria andP1GreaterThan(String value) {
            addCriterion("p1 >", value, "p1");
            return (Criteria) this;
        }

        public Criteria andP1GreaterThanOrEqualTo(String value) {
            addCriterion("p1 >=", value, "p1");
            return (Criteria) this;
        }

        public Criteria andP1LessThan(String value) {
            addCriterion("p1 <", value, "p1");
            return (Criteria) this;
        }

        public Criteria andP1LessThanOrEqualTo(String value) {
            addCriterion("p1 <=", value, "p1");
            return (Criteria) this;
        }

        public Criteria andP1Like(String value) {
            addCriterion("p1 like", value, "p1");
            return (Criteria) this;
        }

        public Criteria andP1NotLike(String value) {
            addCriterion("p1 not like", value, "p1");
            return (Criteria) this;
        }

        public Criteria andP1In(List<String> values) {
            addCriterion("p1 in", values, "p1");
            return (Criteria) this;
        }

        public Criteria andP1NotIn(List<String> values) {
            addCriterion("p1 not in", values, "p1");
            return (Criteria) this;
        }

        public Criteria andP1Between(String value1, String value2) {
            addCriterion("p1 between", value1, value2, "p1");
            return (Criteria) this;
        }

        public Criteria andP1NotBetween(String value1, String value2) {
            addCriterion("p1 not between", value1, value2, "p1");
            return (Criteria) this;
        }

        public Criteria andP2IsNull() {
            addCriterion("p2 is null");
            return (Criteria) this;
        }

        public Criteria andP2IsNotNull() {
            addCriterion("p2 is not null");
            return (Criteria) this;
        }

        public Criteria andP2EqualTo(String value) {
            addCriterion("p2 =", value, "p2");
            return (Criteria) this;
        }

        public Criteria andP2NotEqualTo(String value) {
            addCriterion("p2 <>", value, "p2");
            return (Criteria) this;
        }

        public Criteria andP2GreaterThan(String value) {
            addCriterion("p2 >", value, "p2");
            return (Criteria) this;
        }

        public Criteria andP2GreaterThanOrEqualTo(String value) {
            addCriterion("p2 >=", value, "p2");
            return (Criteria) this;
        }

        public Criteria andP2LessThan(String value) {
            addCriterion("p2 <", value, "p2");
            return (Criteria) this;
        }

        public Criteria andP2LessThanOrEqualTo(String value) {
            addCriterion("p2 <=", value, "p2");
            return (Criteria) this;
        }

        public Criteria andP2Like(String value) {
            addCriterion("p2 like", value, "p2");
            return (Criteria) this;
        }

        public Criteria andP2NotLike(String value) {
            addCriterion("p2 not like", value, "p2");
            return (Criteria) this;
        }

        public Criteria andP2In(List<String> values) {
            addCriterion("p2 in", values, "p2");
            return (Criteria) this;
        }

        public Criteria andP2NotIn(List<String> values) {
            addCriterion("p2 not in", values, "p2");
            return (Criteria) this;
        }

        public Criteria andP2Between(String value1, String value2) {
            addCriterion("p2 between", value1, value2, "p2");
            return (Criteria) this;
        }

        public Criteria andP2NotBetween(String value1, String value2) {
            addCriterion("p2 not between", value1, value2, "p2");
            return (Criteria) this;
        }

        public Criteria andP3IsNull() {
            addCriterion("p3 is null");
            return (Criteria) this;
        }

        public Criteria andP3IsNotNull() {
            addCriterion("p3 is not null");
            return (Criteria) this;
        }

        public Criteria andP3EqualTo(String value) {
            addCriterion("p3 =", value, "p3");
            return (Criteria) this;
        }

        public Criteria andP3NotEqualTo(String value) {
            addCriterion("p3 <>", value, "p3");
            return (Criteria) this;
        }

        public Criteria andP3GreaterThan(String value) {
            addCriterion("p3 >", value, "p3");
            return (Criteria) this;
        }

        public Criteria andP3GreaterThanOrEqualTo(String value) {
            addCriterion("p3 >=", value, "p3");
            return (Criteria) this;
        }

        public Criteria andP3LessThan(String value) {
            addCriterion("p3 <", value, "p3");
            return (Criteria) this;
        }

        public Criteria andP3LessThanOrEqualTo(String value) {
            addCriterion("p3 <=", value, "p3");
            return (Criteria) this;
        }

        public Criteria andP3Like(String value) {
            addCriterion("p3 like", value, "p3");
            return (Criteria) this;
        }

        public Criteria andP3NotLike(String value) {
            addCriterion("p3 not like", value, "p3");
            return (Criteria) this;
        }

        public Criteria andP3In(List<String> values) {
            addCriterion("p3 in", values, "p3");
            return (Criteria) this;
        }

        public Criteria andP3NotIn(List<String> values) {
            addCriterion("p3 not in", values, "p3");
            return (Criteria) this;
        }

        public Criteria andP3Between(String value1, String value2) {
            addCriterion("p3 between", value1, value2, "p3");
            return (Criteria) this;
        }

        public Criteria andP3NotBetween(String value1, String value2) {
            addCriterion("p3 not between", value1, value2, "p3");
            return (Criteria) this;
        }

        public Criteria andP4IsNull() {
            addCriterion("p4 is null");
            return (Criteria) this;
        }

        public Criteria andP4IsNotNull() {
            addCriterion("p4 is not null");
            return (Criteria) this;
        }

        public Criteria andP4EqualTo(String value) {
            addCriterion("p4 =", value, "p4");
            return (Criteria) this;
        }

        public Criteria andP4NotEqualTo(String value) {
            addCriterion("p4 <>", value, "p4");
            return (Criteria) this;
        }

        public Criteria andP4GreaterThan(String value) {
            addCriterion("p4 >", value, "p4");
            return (Criteria) this;
        }

        public Criteria andP4GreaterThanOrEqualTo(String value) {
            addCriterion("p4 >=", value, "p4");
            return (Criteria) this;
        }

        public Criteria andP4LessThan(String value) {
            addCriterion("p4 <", value, "p4");
            return (Criteria) this;
        }

        public Criteria andP4LessThanOrEqualTo(String value) {
            addCriterion("p4 <=", value, "p4");
            return (Criteria) this;
        }

        public Criteria andP4Like(String value) {
            addCriterion("p4 like", value, "p4");
            return (Criteria) this;
        }

        public Criteria andP4NotLike(String value) {
            addCriterion("p4 not like", value, "p4");
            return (Criteria) this;
        }

        public Criteria andP4In(List<String> values) {
            addCriterion("p4 in", values, "p4");
            return (Criteria) this;
        }

        public Criteria andP4NotIn(List<String> values) {
            addCriterion("p4 not in", values, "p4");
            return (Criteria) this;
        }

        public Criteria andP4Between(String value1, String value2) {
            addCriterion("p4 between", value1, value2, "p4");
            return (Criteria) this;
        }

        public Criteria andP4NotBetween(String value1, String value2) {
            addCriterion("p4 not between", value1, value2, "p4");
            return (Criteria) this;
        }

        public Criteria andP5IsNull() {
            addCriterion("p5 is null");
            return (Criteria) this;
        }

        public Criteria andP5IsNotNull() {
            addCriterion("p5 is not null");
            return (Criteria) this;
        }

        public Criteria andP5EqualTo(String value) {
            addCriterion("p5 =", value, "p5");
            return (Criteria) this;
        }

        public Criteria andP5NotEqualTo(String value) {
            addCriterion("p5 <>", value, "p5");
            return (Criteria) this;
        }

        public Criteria andP5GreaterThan(String value) {
            addCriterion("p5 >", value, "p5");
            return (Criteria) this;
        }

        public Criteria andP5GreaterThanOrEqualTo(String value) {
            addCriterion("p5 >=", value, "p5");
            return (Criteria) this;
        }

        public Criteria andP5LessThan(String value) {
            addCriterion("p5 <", value, "p5");
            return (Criteria) this;
        }

        public Criteria andP5LessThanOrEqualTo(String value) {
            addCriterion("p5 <=", value, "p5");
            return (Criteria) this;
        }

        public Criteria andP5Like(String value) {
            addCriterion("p5 like", value, "p5");
            return (Criteria) this;
        }

        public Criteria andP5NotLike(String value) {
            addCriterion("p5 not like", value, "p5");
            return (Criteria) this;
        }

        public Criteria andP5In(List<String> values) {
            addCriterion("p5 in", values, "p5");
            return (Criteria) this;
        }

        public Criteria andP5NotIn(List<String> values) {
            addCriterion("p5 not in", values, "p5");
            return (Criteria) this;
        }

        public Criteria andP5Between(String value1, String value2) {
            addCriterion("p5 between", value1, value2, "p5");
            return (Criteria) this;
        }

        public Criteria andP5NotBetween(String value1, String value2) {
            addCriterion("p5 not between", value1, value2, "p5");
            return (Criteria) this;
        }

        public Criteria andP6IsNull() {
            addCriterion("p6 is null");
            return (Criteria) this;
        }

        public Criteria andP6IsNotNull() {
            addCriterion("p6 is not null");
            return (Criteria) this;
        }

        public Criteria andP6EqualTo(String value) {
            addCriterion("p6 =", value, "p6");
            return (Criteria) this;
        }

        public Criteria andP6NotEqualTo(String value) {
            addCriterion("p6 <>", value, "p6");
            return (Criteria) this;
        }

        public Criteria andP6GreaterThan(String value) {
            addCriterion("p6 >", value, "p6");
            return (Criteria) this;
        }

        public Criteria andP6GreaterThanOrEqualTo(String value) {
            addCriterion("p6 >=", value, "p6");
            return (Criteria) this;
        }

        public Criteria andP6LessThan(String value) {
            addCriterion("p6 <", value, "p6");
            return (Criteria) this;
        }

        public Criteria andP6LessThanOrEqualTo(String value) {
            addCriterion("p6 <=", value, "p6");
            return (Criteria) this;
        }

        public Criteria andP6Like(String value) {
            addCriterion("p6 like", value, "p6");
            return (Criteria) this;
        }

        public Criteria andP6NotLike(String value) {
            addCriterion("p6 not like", value, "p6");
            return (Criteria) this;
        }

        public Criteria andP6In(List<String> values) {
            addCriterion("p6 in", values, "p6");
            return (Criteria) this;
        }

        public Criteria andP6NotIn(List<String> values) {
            addCriterion("p6 not in", values, "p6");
            return (Criteria) this;
        }

        public Criteria andP6Between(String value1, String value2) {
            addCriterion("p6 between", value1, value2, "p6");
            return (Criteria) this;
        }

        public Criteria andP6NotBetween(String value1, String value2) {
            addCriterion("p6 not between", value1, value2, "p6");
            return (Criteria) this;
        }

        public Criteria andP7IsNull() {
            addCriterion("p7 is null");
            return (Criteria) this;
        }

        public Criteria andP7IsNotNull() {
            addCriterion("p7 is not null");
            return (Criteria) this;
        }

        public Criteria andP7EqualTo(String value) {
            addCriterion("p7 =", value, "p7");
            return (Criteria) this;
        }

        public Criteria andP7NotEqualTo(String value) {
            addCriterion("p7 <>", value, "p7");
            return (Criteria) this;
        }

        public Criteria andP7GreaterThan(String value) {
            addCriterion("p7 >", value, "p7");
            return (Criteria) this;
        }

        public Criteria andP7GreaterThanOrEqualTo(String value) {
            addCriterion("p7 >=", value, "p7");
            return (Criteria) this;
        }

        public Criteria andP7LessThan(String value) {
            addCriterion("p7 <", value, "p7");
            return (Criteria) this;
        }

        public Criteria andP7LessThanOrEqualTo(String value) {
            addCriterion("p7 <=", value, "p7");
            return (Criteria) this;
        }

        public Criteria andP7Like(String value) {
            addCriterion("p7 like", value, "p7");
            return (Criteria) this;
        }

        public Criteria andP7NotLike(String value) {
            addCriterion("p7 not like", value, "p7");
            return (Criteria) this;
        }

        public Criteria andP7In(List<String> values) {
            addCriterion("p7 in", values, "p7");
            return (Criteria) this;
        }

        public Criteria andP7NotIn(List<String> values) {
            addCriterion("p7 not in", values, "p7");
            return (Criteria) this;
        }

        public Criteria andP7Between(String value1, String value2) {
            addCriterion("p7 between", value1, value2, "p7");
            return (Criteria) this;
        }

        public Criteria andP7NotBetween(String value1, String value2) {
            addCriterion("p7 not between", value1, value2, "p7");
            return (Criteria) this;
        }

        public Criteria andP8IsNull() {
            addCriterion("p8 is null");
            return (Criteria) this;
        }

        public Criteria andP8IsNotNull() {
            addCriterion("p8 is not null");
            return (Criteria) this;
        }

        public Criteria andP8EqualTo(String value) {
            addCriterion("p8 =", value, "p8");
            return (Criteria) this;
        }

        public Criteria andP8NotEqualTo(String value) {
            addCriterion("p8 <>", value, "p8");
            return (Criteria) this;
        }

        public Criteria andP8GreaterThan(String value) {
            addCriterion("p8 >", value, "p8");
            return (Criteria) this;
        }

        public Criteria andP8GreaterThanOrEqualTo(String value) {
            addCriterion("p8 >=", value, "p8");
            return (Criteria) this;
        }

        public Criteria andP8LessThan(String value) {
            addCriterion("p8 <", value, "p8");
            return (Criteria) this;
        }

        public Criteria andP8LessThanOrEqualTo(String value) {
            addCriterion("p8 <=", value, "p8");
            return (Criteria) this;
        }

        public Criteria andP8Like(String value) {
            addCriterion("p8 like", value, "p8");
            return (Criteria) this;
        }

        public Criteria andP8NotLike(String value) {
            addCriterion("p8 not like", value, "p8");
            return (Criteria) this;
        }

        public Criteria andP8In(List<String> values) {
            addCriterion("p8 in", values, "p8");
            return (Criteria) this;
        }

        public Criteria andP8NotIn(List<String> values) {
            addCriterion("p8 not in", values, "p8");
            return (Criteria) this;
        }

        public Criteria andP8Between(String value1, String value2) {
            addCriterion("p8 between", value1, value2, "p8");
            return (Criteria) this;
        }

        public Criteria andP8NotBetween(String value1, String value2) {
            addCriterion("p8 not between", value1, value2, "p8");
            return (Criteria) this;
        }

        public Criteria andP9IsNull() {
            addCriterion("p9 is null");
            return (Criteria) this;
        }

        public Criteria andP9IsNotNull() {
            addCriterion("p9 is not null");
            return (Criteria) this;
        }

        public Criteria andP9EqualTo(String value) {
            addCriterion("p9 =", value, "p9");
            return (Criteria) this;
        }

        public Criteria andP9NotEqualTo(String value) {
            addCriterion("p9 <>", value, "p9");
            return (Criteria) this;
        }

        public Criteria andP9GreaterThan(String value) {
            addCriterion("p9 >", value, "p9");
            return (Criteria) this;
        }

        public Criteria andP9GreaterThanOrEqualTo(String value) {
            addCriterion("p9 >=", value, "p9");
            return (Criteria) this;
        }

        public Criteria andP9LessThan(String value) {
            addCriterion("p9 <", value, "p9");
            return (Criteria) this;
        }

        public Criteria andP9LessThanOrEqualTo(String value) {
            addCriterion("p9 <=", value, "p9");
            return (Criteria) this;
        }

        public Criteria andP9Like(String value) {
            addCriterion("p9 like", value, "p9");
            return (Criteria) this;
        }

        public Criteria andP9NotLike(String value) {
            addCriterion("p9 not like", value, "p9");
            return (Criteria) this;
        }

        public Criteria andP9In(List<String> values) {
            addCriterion("p9 in", values, "p9");
            return (Criteria) this;
        }

        public Criteria andP9NotIn(List<String> values) {
            addCriterion("p9 not in", values, "p9");
            return (Criteria) this;
        }

        public Criteria andP9Between(String value1, String value2) {
            addCriterion("p9 between", value1, value2, "p9");
            return (Criteria) this;
        }

        public Criteria andP9NotBetween(String value1, String value2) {
            addCriterion("p9 not between", value1, value2, "p9");
            return (Criteria) this;
        }

        public Criteria andP10IsNull() {
            addCriterion("p10 is null");
            return (Criteria) this;
        }

        public Criteria andP10IsNotNull() {
            addCriterion("p10 is not null");
            return (Criteria) this;
        }

        public Criteria andP10EqualTo(String value) {
            addCriterion("p10 =", value, "p10");
            return (Criteria) this;
        }

        public Criteria andP10NotEqualTo(String value) {
            addCriterion("p10 <>", value, "p10");
            return (Criteria) this;
        }

        public Criteria andP10GreaterThan(String value) {
            addCriterion("p10 >", value, "p10");
            return (Criteria) this;
        }

        public Criteria andP10GreaterThanOrEqualTo(String value) {
            addCriterion("p10 >=", value, "p10");
            return (Criteria) this;
        }

        public Criteria andP10LessThan(String value) {
            addCriterion("p10 <", value, "p10");
            return (Criteria) this;
        }

        public Criteria andP10LessThanOrEqualTo(String value) {
            addCriterion("p10 <=", value, "p10");
            return (Criteria) this;
        }

        public Criteria andP10Like(String value) {
            addCriterion("p10 like", value, "p10");
            return (Criteria) this;
        }

        public Criteria andP10NotLike(String value) {
            addCriterion("p10 not like", value, "p10");
            return (Criteria) this;
        }

        public Criteria andP10In(List<String> values) {
            addCriterion("p10 in", values, "p10");
            return (Criteria) this;
        }

        public Criteria andP10NotIn(List<String> values) {
            addCriterion("p10 not in", values, "p10");
            return (Criteria) this;
        }

        public Criteria andP10Between(String value1, String value2) {
            addCriterion("p10 between", value1, value2, "p10");
            return (Criteria) this;
        }

        public Criteria andP10NotBetween(String value1, String value2) {
            addCriterion("p10 not between", value1, value2, "p10");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}